import { getHeroListAPI } from "../api/index"
import Variadle from "../constants/index"
import { Hero } from "../types/hero"

// secrch/search.ts
Page({

  /**
   * 页面的初始数据
   */
  data: {
    heroList: [] as Hero[],  //应该是存储的英雄信息
    word: '', // 定义搜索字段
    searchWordsList: [] as string[]  //这个到时候就存上我的搜索历史记录
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {

  },
  // 搜索时调用页面接口
  async searchList() {
    if(this.data.word){
      // 调用接口
      this.setData({
        heroList:await getHeroListAPI({q: this.data.word}) ,
        searchWordsList: [...new Set([this.data.word,...this.data.searchWordsList])] 
      },() => {
        // 此时认为更新完成拿到最新的数据
        console.log(this.data.searchWordsList)
        wx.setStorageSync(Variadle.SEARCH_WORD_KEY, JSON.stringify(this.data.searchWordsList))
        wx.hideLoading()
      })
    }else{
      this.setData({
        heroList:[] //设置为空
      })
    }
  },
  // 出现详情点击跳转到详情页面
  toDetail(event:WechatMiniprogram.TouchEvent){
    // 页面跳转wx.navigateTo
    wx.navigateTo({
      url:`/hero_detail/hero_detail?heroId=${event.mark?.heroId}`
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
  * 生命周期函数--监听页面显示
  */
  onShow() {
    // 获取缓存中的历史记录
    this.getHistoryList()
  },
  getHistoryList() {
    this.setData({
      searchWordsList: JSON.parse(wx.getStorageSync(Variadle.SEARCH_WORD_KEY) || "[]") as string[]
    })

  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})